查看原文
其他

在量子计算机上运行机器学习模型,IBM Qiskit添加ML模块

光子盒研究院 光子盒 2021-12-15
光子盒研究院出品


上周,IBM发布了Qiskit量子编程平台的0.25版本,对其应用程序库进行了重组和扩展。
 
此前,他们推出了一个名为Qiskit Aqua的软件包,其中包括化学、人工智能、优化和金融应用模块。Qiskit Aqua是一个独立于核心Qiskit Terra的独立包。在新版本中,他们已经将这些应用模块移动并扩展到Qiskit Terra中,现在被称为Qiskit自然、金融、优化和机器学习(ML)。
 
这种新结构的优点之一是,更新其中一个应用模块,不会影响其他模块,而这是Qiskit Aqua做不到的。虽然Qiskit Aqua在0.25版中仍然存在,但它将在未来被删除,IBM已经发布了一个迁移指南,以便用户可以为新结构更新他们的代码。
 
除了重组之外,IBM还扩展了对各种自然科学应用的支持,除了先前支持的化学领域,IBM还通过引入新的例程来建模和解决物理、材料科学和生物领域的特定问题。
 
值得重点关注的是,机器学习的新应用模块是对Qiskit中之前可用模块的重大升级。可用于不同应用(如分类和回归)的构建块,包括量子核和量子神经网络。同时,还包括与PyTorch的集成功能,PyTorch是一个开源机器学习库。
 

今天,机器学习应用几乎触及商业、科学和私人生活的各个角度,从语音和图像识别到改进药物设计的生成模型。机器学习的主要目标是训练计算机理解不断扩大的数据池。
 
然而,为了从这些日益复杂的数据集中学习,底层模型(如深度神经网络等)的训练也变得更加复杂和昂贵。
 
这导致了训练时间非常长的复杂模型,在没有充分泛化(generalization)的情况下,存在过拟合(overfitting)的风险。换句话说,我们需要机器学习模型有意义地理解我们的数据,而不仅仅记住它们看到的东西。因此,在改进模型的训练算法以及专用的经典硬件方面,人们都做了大量的努力。

在此情况下,量子计算为提高机器学习模型的能力提供了另一种潜在途径,相应的文献以惊人的速度增长。量子机器学习(QML)提出了利用量子计算机独特能力的新模型,例如,在指数高维特征空间中工作,以提高模型的准确性。

QML的一个潜在瓶颈是需要将大型数据集加载到量子计算机中,这在某些情况下可以抵消QML算法相对于经典机器学习的潜在量子优势。

因此,端到端分析QML应用非常重要。目前有多种解决方案,例如量子支持向量机(QSVM)、量子生成对抗网络(QGAN)或量子玻尔兹曼机(QBM)。研究人员从理论上证明,QSVM可以解决经典计算机无法有效解决的某些分类问题。

另一个方向是将量子机器学习直接应用于量子数据这消除了数据加载的潜在瓶颈,因为数据是以正确的格式自然出现的。使用经典和量子机器学习模型可以让研究人员更好地理解量子化学和物理,开辟大量新的应用和研究方向。量子计算还可能有许多其他方式影响机器学习。
 

IBM发布的Qiskit机器学习。这个新的应用模块建立在Qiskit现有功能的基础上,可以创建和运行(参数化)量子电路,评估复杂的可观测性,还可以自动评估电路参数的相应梯度。
 
Qiskit机器学习引入了基本的计算构建块,如量子核和量子神经网络,用于包括分类和回归在内的不同应用。一方面,这种设计非常容易上手,用户可以在没有深入了解量子计算知识的情况下快速原型化第一个模型。另一方面,Qiskit机器学习非常灵活,用户可以很容易地扩展它来支持前沿的量子机器学习研究。
 
除了在Qiskit机器学习中直接提供的模型,还引入了Torch Connector,用户可以将其中所有的量子神经网络直接集成到PyTorch开源机器学习库中。
 
得益于Qiskit的梯度框架,包括自动微分——在反向传播过程中,PyTorch计算的总梯度也考虑到了量子神经网络。这种灵活的设计还允许将来构建连接到其他软件包的连接器。Qiskit机器学习提供了一系列介绍所有这些功能的教程集。
 
教程集:
https://github.com/Qiskit/qiskit-machine-learning/tree/master/docs/tutorials
 
Qiskit机器学习提供了一个由量子神经网络和量子核组成的计算单元集合。这些可以用于各种分类和回归算法。此外,可以将神经网络插入Torch Connector中,将其用作更大的PyTorch模型中的本地PyTorch模块。
 
1.量子核(Quantum Kernels)
 
许多机器学习模型依赖于特征映射及其相应的核来提高性能。其思想是将给定的数据映射到一个更高维的特征空间,在这个空间中,手头的问题变得更容易解决。量子计算机提供了将数据映射到指数高维特征空间并有效评估相应量子核的可能性。
 
甚至已经有研究表明,量子核支持向量机(SVM)能有效地解决一些问题,而经典的支持向量机不可能比随机猜测更好。
 
论文链接:
https://arxiv.org/abs/2010.02174

Qiskit机器学习提供了量子核类(class),可以用于直接计算给定数据集的核矩阵,或者可以传播给量子支持向量分类机(QSVC)或量子支持向量回归机(QSVR),从而快速开始解决分类或回归问题。它还可以与许多其他来自既有经典框架现有的基于核的机器学习算法一起使用。
 
相关教程:
https://github.com/Qiskit/qiskit-machine-learning/blob/master/docs/tutorials/03_quantum_kernel.ipynb
 
2.量子神经网络(Quantum Neural Networks)
 
特征映射还可以应用于某些量子神经网络(QNN)架构中,将输入数据加载到量子计算机上有可能产生比经典模型更强大的模型。这种技术避免了上面讨论的关于量子计算机数据加载的一些问题。
 
Qiskit机器学习为神经网络定义了一个通用接口,由不同的量子神经网络实现。可提供多种实现(implementation),例如OpflowQNN、TwoLayerQNN和CircuitQNN。
 
OpflowQNN允许用户将参数化量子电路与量子力学可观测性相结合。例如,可以使用Qiskit电路库中的构建块来构建电路,QNN的输出由可观测值的期望值给出。TwoLayerQNN是OpflowQNN的一个特例,它将特征映射和ansatz作为输入。
 
CircuitQNN直接将量子电路的测量值作为输出。输出可以用作一批样本,例如从电路的量子比特测量的位串列表,或者用作每个位串的结果采样概率的稀疏向量。前者对学习给定量子电路产生的分布感兴趣,后者则适用于回归或分类。后处理步骤可用于在特定上下文中解释给定的位串,例如将其转换为一组类。
 
神经网络包括对给定输入进行评估以及计算相应梯度的功能,这对于有效训练很重要。为了训练和使用神经网络,Qiskit机器学习提供了多种学习算法,如神经网络分类和神经网络回归
 
两者都将QNN作为输入,然后在分类或回归上下文中使用它。为了便于开始,提供了两个方便的实现方法:变分量子分类机(VQC)和变分量子回归机(VQR)。两者都只需要一个特征映射和一个ansatz,就可以自动构建底层的QNN。
 

Qiskit机器学习的设计允许用户轻松构建自己的QNN,并使用神经网络分类机或回归机进行测试。由于是通用接口,它还兼容完全不同的QNN架构,包括量子玻尔兹曼机器。
 
相关教程:
https://github.com/Qiskit/qiskit-machine-learning/blob/master/docs/tutorials/01_neural_networks.ipynb
 
3.将机器学习连接到PyTorch
 
除了使用所提供的QNN分类和回归算法外,Qiskit机器学习还引入了TorchConnector。任何QNN可用作PyTorch模块。由于Qiskit机器学习QNN提供向前传播和向后传播,用户可以无缝地将QNN集成到PyTorch工作流中,包括通过反向传播来计算梯度。
 
因此Qiskit机器学习可以是更大的复杂计算的一部分,例如由经典层和量子层组成的深度神经网络。这为研究QNN在大量应用中的潜在能力提供了无限的机会。
 
相关教程:
https://github.com/Qiskit/qiskit-machine-learning/blob/master/docs/tutorials/05_torch_connector.ipynb
 

Qiskit、Qiskit机器学习以及所有其他Qiskit应用模块都是开源的,每个人都可以免费下载和使用。教程演示了不同的特性,并提供了快速运行第一个测试的示例。Qiskit提供了在经典计算机上测试量子机器学习模型的高性能模拟器,同时还允许用户在真实的量子设备上测试这些模型,包括IBM公开的量子系统。
 
Qiskit机器学习的第一个版本已经提供了各种各样的模型,并在不断增加
 
Qiskit机器学习:
https://qiskit.org/documentation/machine-learning/
 
除了机器学习,IBM还发布了Qiskit自然,该模块将允许自然科学(包括物理、化学、材料科学和生物学)不同领域的研究人员使用量子模拟以及通过IBM量子云系统在量子计算机上直接实验来建模和解决特定领域的问题。
 
详情可见:
https://medium.com/qiskit/introducing-qiskit-nature-cb9e588bb004
 
参考链接:
[1]https://www.ibm.com/blogs/research/2021/04/qiskit-application-modules/
[2]https://medium.com/qiskit/introducing-qiskit-machine-learning-5f06b6597526
[3]https://quantumcomputingreport.com/ibm-releases-new-version-of-qiskit-adds-additional-libraries-for-natural-sciences-and-machine-learning/
 
—End—

相关阅读:
前1000位报名免费!IBM推出全球首个量子开发人员认证
附操作视频!如何使用IBM平台设计量子芯片?
量子+人工智能来了,多国取得重要进展
正面人工智能,反面量子计算
量子机器学习的里程碑!CQC证明量子计算机可进行推理
IonQ和QC Ware在量子机器学习领域取得突破

#光子盒社群招募中#

进入光子盒社群,与我们近距离互动,了解量子领域更多产业、商业、科技动态,领取量子技术产业报告。
 
现添加社群助手微信Hordcore即可进群 ,与我们一起展望未来!

你可能会错过:
: . Video Mini Program Like ,轻点两下取消赞 Wow ,轻点两下取消在看

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存